﻿namespace IndirectX.Shaders
{
    public enum OpCode
    {
        add												 ,
        and												 ,
    Break											 ,
        breakc											 ,
        call											 ,
        callc											 ,
    Case											 ,
    Continue										 ,
        continuec										 ,
        cut												 ,
    Default											 ,
        deriv_rtx										 ,
        deriv_rty										 ,
        discard											 ,
        div												 ,
        dp2												 ,
        dp3												 ,
        dp4												 ,
    Else											 ,
        emit											 ,
        emitthencut										 ,
        endif											 ,
        endloop											 ,
        endswitch										 ,
        eq												 ,
        exp												 ,
        frc												 ,
        ftoi											 ,
        ftou											 ,
        ge												 ,
        iadd											 ,
    If												 ,
        ieq												 ,
        ige												 ,
        ilt												 ,
        imad											 ,
        imax											 ,
        imin											 ,
        imul											 ,
        ine												 ,
        ineg											 ,
        ishl											 ,
        ishr											 ,
        itof											 ,
        label											 ,
        ld												 ,
        ld_ms											 ,
        log												 ,
        loop											 ,
        lt												 ,
        mad												 ,
        min												 ,
        max												 ,
        customdata										 ,
        mov												 ,
        movc											 ,
        mul												 ,
        ne												 ,
        nop												 ,
        not												 ,
        or												 ,
        resinfo											 ,
        ret												 ,
        retc											 ,
        round_ne										 ,
        round_ni										 ,
        round_pi										 ,
        round_z											 ,
        rsq												 ,
        sample											 ,
        sample_c										 ,
        sample_c_lz										 ,
        sample_l										 ,
        sample_d										 ,
        sample_b										 ,
        sqrt											 ,
   Switch											 ,
        sincos											 ,
        udiv											 ,
        ult												 ,
        uge												 ,
        umul											 ,
        umad											 ,
        umax											 ,
        umin											 ,
        ushr											 ,
        utof											 ,
        xor												 ,
        dcl_resource									 ,
        dcl_constant_buffer								 ,
        dcl_sampler										 ,
        dcl_index_range									 ,
        dcl_gs_output_primitive_topology				 ,
        dcl_gs_input_primitive							 ,
        dcl_max_output_vertex_count						 ,
        dcl_input										 ,
        dcl_input_sgv									 ,
        dcl_input_siv									 ,
        dcl_input_ps									 ,
        dcl_input_ps_sgv								 ,
        dcl_input_ps_siv								 ,
        dcl_output										 ,
        dcl_output_sgv									 ,
        dcl_output_siv									 ,
        dcl_temps										 ,
        dcl_indexable_temp								 ,
        dcl_global_flags								 ,
        d3d10_count										 ,
        lod												 ,
        gather4											 ,
        sample_pos										 ,
        sample_info										 ,
        d3d10_1_count									 ,
        hs_decls										 ,
        hs_control_point_phase							 ,
        hs_fork_phase									 ,
        hs_join_phase									 ,
        emit_stream										 ,
        cut_stream										 ,
        emitthencut_stream								 ,
        interface_call									 ,
        bufinfo											 ,
        deriv_rtx_coarse								 ,
        deriv_rtx_fine									 ,
        deriv_rty_coarse								 ,
        deriv_rty_fine									 ,
        gather4_c										 ,
        gather4_po										 ,
        gather4_po_c									 ,
        rcp												 ,
        f32tof16										 ,
        f16tof32										 ,
        uaddc											 ,
        usubb											 ,
        countbits										 ,
        firstbit_hi										 ,
        firstbit_lo										 ,
        firstbit_shi									 ,
        ubfe											 ,
        ibfe											 ,
        bfi												 ,
        bfrev											 ,
        swapc											 ,
        dcl_stream										 ,
        dcl_function_body								 ,
        dcl_function_table								 ,
        dcl_interface									 ,
        dcl_input_control_point_count					 ,
        dcl_output_control_point_count					 ,
        dcl_tess_domain									 ,
        dcl_tess_partitioning							 ,
        dcl_tess_output_primitive						 ,
        dcl_hs_max_tessfactor							 ,
        dcl_hs_fork_phase_instance_count				 ,
        dcl_hs_join_phase_instance_count				 ,
        dcl_thread_group								 ,
        dcl_unordered_access_view_typed					 ,
        dcl_unordered_access_view_raw					 ,
        dcl_unordered_access_view_structured			 ,
        dcl_thread_group_shared_memory_raw				 ,
        dcl_thread_group_shared_memory_structured		 ,
        dcl_resource_raw								 ,
        dcl_resource_structured							 ,
        ld_uav_typed									 ,
        store_uav_typed									 ,
        ld_raw											 ,
        store_raw										 ,
        ld_structured									 ,
        store_structured								 ,
        atomic_and										 ,
        atomic_or										 ,
        atomic_xor										 ,
        atomic_cmp_store								 ,
        atomic_iadd										 ,
        atomic_imax										 ,
        atomic_imin										 ,
        atomic_umax										 ,
        atomic_umin										 ,
        imm_atomic_alloc								 ,
        imm_atomic_consume								 ,
        imm_atomic_iadd									 ,
        imm_atomic_and									 ,
        imm_atomic_or									 ,
        imm_atomic_xor									 ,
        imm_atomic_exch									 ,
        imm_atomic_cmp_exch								 ,
        imm_atomic_imax									 ,
        imm_atomic_imin									 ,
        imm_atomic_umax									 ,
        imm_atomic_umin									 ,
        sync											 ,
        dadd											 ,
        dmax											 ,
        dmin											 ,
        dmul											 ,
        deq												 ,
        dge												 ,
        dlt												 ,
        dne												 ,
        dmov											 ,
        dmovc											 ,
        dtof											 ,
        ftod											 ,
        eval_snapped									 ,
        eval_sample_index								 ,
        eval_centroid									 ,
        dcl_gs_instance_count							 ,

    }
}